package com.ruoyi.system.service.impl;

import java.util.List;

import com.ruoyi.common.annotation.DataSource;
import com.ruoyi.common.enums.DataSourceType;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.SysCrmYgxxMapper;
import com.ruoyi.system.domain.SysCrmYgxx;
import com.ruoyi.system.service.ISysCrmYgxxService;

/**
 * 员工信息Service业务层处理
 * 
 * @author SYF
 * @date 2025-04-15
 */
@Service
public class SysCrmYgxxServiceImpl implements ISysCrmYgxxService
{
    @Autowired
    private SysCrmYgxxMapper crmYgxxMapper;

    /**
     * 查询员工信息
     * 
     * @param empid 员工信息主键
     * @return 员工信息
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public SysCrmYgxx selectCrmYgxxByEmpid(String empid)
    {
        return crmYgxxMapper.selectCrmYgxxByEmpid(empid);
    }

    /**
     * 查询员工信息列表
     * 
     * @param crmYgxx 员工信息
     * @return 员工信息
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public List<SysCrmYgxx> selectCrmYgxxList(SysCrmYgxx crmYgxx)
    {
        return crmYgxxMapper.selectCrmYgxxList(crmYgxx);
    }

    /**
     * 新增员工信息
     * 
     * @param crmYgxx 员工信息
     * @return 结果
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public int insertCrmYgxx(SysCrmYgxx crmYgxx)
    {
        return crmYgxxMapper.insertCrmYgxx(crmYgxx);
    }

    /**
     * 修改员工信息
     * 
     * @param crmYgxx 员工信息
     * @return 结果
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public int updateCrmYgxx(SysCrmYgxx crmYgxx)
    {
        return crmYgxxMapper.updateCrmYgxx(crmYgxx);
    }

    /**
     * 批量删除员工信息
     * 
     * @param empids 需要删除的员工信息主键
     * @return 结果
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public int deleteCrmYgxxByEmpids(String[] empids) {
        return crmYgxxMapper.deleteCrmYgxxByEmpids(empids);
    }

    /**
     * 删除员工信息信息
     * 
     * @param empid 员工信息主键
     * @return 结果
     */
    @Override
    @DataSource(DataSourceType.SLAVE)
    public int deleteCrmYgxxByEmpid(String empid) {
        return crmYgxxMapper.deleteCrmYgxxByEmpid(empid);
    }

    @Override
    @DataSource(DataSourceType.SLAVE)
    public int clearCrmYgxx(){
        return crmYgxxMapper.clearCrmYgxx();
    }
}
